package crypto

import (
	"blueprint-crypto/internal/util"
	"fmt"
	"gopkg.in/yaml.v3"
	"io/ioutil"
	"log"
)

// 批量解密
func BatchRSA_Decrypt_yaml(rootPath string, pempath string, keyword string) {
	if !util.PathExists(rootPath) {
		panic(rootPath + "路径不存在，请检查")
	}
	if !util.PathExists(pempath) {
		panic(pempath + "文件不存在，请检查")
	}
	secretFiles := util.Getfilepath(rootPath, keyword)
	for _, secretFile := range secretFiles {
		if util.IsFile(secretFile) {
			//解密
			data := util.Parse_yaml(secretFile)
			new_data := util.WalkDecryptoYaml(data, pempath)

			fmt.Println(new_data)
			new_data2, err := yaml.Marshal(new_data)
			if err != nil {
				log.Fatal(err)
			}
			errE2 := ioutil.WriteFile(secretFile, new_data2, 0644)

			if errE2 != nil {
				log.Fatal(errE2)
			}
			fmt.Println(secretFile, "解密完成")
		}
	}
}
